General Handle Description

     The reason the SPECTRE Handle was created was to provide the Bally Arcade 
with a true joystick input device.  Since this required the use of two handle 
ports, we also had available 5 switch contacts per port.  So we used the 10 
switches to add a keypad.  As an extra, we added the pinball buttons, (which 
duplicate the #5 and #0 keys).

     To get the joystick to correspond to a left to right movement from the 
KN(X) function in your programs you will need to used a negative sign.  This 
was done so that the handle will work with the absolute machine addressing.

     The accuracy of the joystick is +/- 2 pixels. This is because of the way 
the Bally decodes analog to digital signals and must be dealt with using 
software debouncing.

     We have found that some cartridges can use the SPECTRE Handle.  For 
example it was designed to work with Bally Pin by using the two pinball buttons 
for the flipper, and the #7 key of the keypad to launch the ball.  You can just 
pass the handle to the next player when it is their turn.

     By experimentation you can see if the SPECTRE Handle will work with the 
other cartridges you have.


Page 1

------------------------------------------------------------

     The SPECTRE Handle is a new, versatile control handle to be used with the 
Bally or Astro Arcade.  It provides an X-Y analog joystick, an 11-key keypad, 
and two pinball style flipper buttons.  All these functions are accessible from 
BASIC or machine language programs, as well as the cartridge programs.

     The SPECTRE Handle uses two standard handle cords, which plug into two 
handle inputs on the Arcade.  The handle inputs you use depends on the program 
you are running, and should be specified in that program's documentation.  For 
the enclosed examples, use input one for the right cord, and input two for the 
left cord (looking at the Handle from the back).

     A maximum of two SPECTRE handles may be plugged into the arcade at one 
time.

     In order to utilize the Handle in your basic programs, the following 
inputs are provided if the Handle is plugged in as above.

SPECTRE Handle Values  BASIC Value

X Joystick Value       KN(1)= -128 to 127
Y Joystick Value       KN(2)= -128 to 127
Left Button Value      TR(1)= 1
Right Button Value     TR(2)= 1
Keypad - 0             TR(2)= 1
Keypad - 1             JX(2)= -1
Keypad - 2             JY(1)= -1
keypad - 3             JY(2)= -1
Keypad - 4             JX(1)= -1
Keypad - 5             TR(1)= 1
Keypad - 6             JX(1)= 1
Keypad - 7             JY(2)= 1
Keypad - 8             JY(1)= 1
Keypad - 9             JX(2)= 1
Keypad - S             Future Expansion


Port access Value

&(28)= 0 to 255
&(29)= 0 to 255
All functions with a (1) [handle port #1] after them are mapped to port &(16) 
All functions with a (2) [handle port #2] after them are mapped to port &(17)

Byte - 128 64 32 16 8 4 2 1
                  T R L D U

[T = Trigger, R = Joystick pushed right, L = Joystick pushed left, D = Joystick 
pulled backwards, U = Joystick pushed forward]

The value for the port depends on which bits are set in the byte.
The switch banks return a one-byte value which can be stored directly in a 
variable.  The bits set by the switches determine the value returned.  When 
using port values to determine switch settings you must look at the bits that 
are set in the byte returned.

EXAMPLE 1 - [A = &(16)]: if &(16) equals 18 this would mean the trigger is 
pulled and the joystick is pulled back for handle port #1. i.e. Trigger(T) = 16 
and the joystick is pulled back. (D) = 2 : 16 + 2 = 18 and therefore the 
variable A will equal 18.

EXAMPLE 2 - If you let variable B= &(17) and &(17) equals 10, then this would 
mean that handle port #2 would give this value if handle #2 had the Joystick 
pushed to the right(R) and pulled backward(D) at the same time, i.e. 8+2=10.

Keys 8, 2, 4, 6, 5, are the up, down, left, right, and trigger functions of the 
Bally handle #1.

Keys 7, 3, 1, 9, 6, are the up, down, left, right, and trigger functions of the 
Bally handle #2.


Page 2

------------------------------------------------------------

Maintenance

     Maintenance - The SPECTRE Handle was designed to require a minimum of user 
maintenance.  It may be required that with time the pinball button contacts 
will need to be cleaned.  When you need to clean the contacts, remove the four 
corner screws, and carefully lift the lid, (DO NOT PULL ON THE WIRES).  On both 
sides you will see the pinball housings holding the leaf contact switches.  
Where the leaf switches make contact you will see small copper rivets.  By 
using fine sandpaper or a fingernail emery board, gently clean the oxidation 
off these contacts.  Be careful not to bend the leaf contacts.  If you do bend 
a leaf contact, use a pair of needle nose pliers to carefully straighten it.

     It may also be necessary to clean the joystick potentiometers.  This may 
be done by spraying contact cleaner into the potentiometers.  Make sure that 
the contact cleaner you use is safe for cleaning potentiometers, and that you 
follow the directions to prevent damage to the joystick

     The keypad should not require any maintenance.

     If you have questions or problems please contact.

          Brett Bilbrey
          14430 Barclay
          Dearborn, MI 48126
          (313) 582-6721

Please write.  If you must call, this is my home phone and I can't guarantee 
that you will reach me if you call.


Page 3

------------------------------------------------------------

Program Documentation

We have provided some simple programs with the handle to help show its 
operations.

     'Animated Box' - This simple short program shows how the joystick can be 
used with the Bally Basic graphic commands to produce effects not achievable 
with the normal Ball handle.  Move the joystick around to see a box vary in 
size on the screen.

     'Get the Box' - This program is to help you to adapt to using the 
joystick.  You will be asked for a difficulty level; 1 is the hardest with 
larger numbers being easier (use values less than 15).  Use the Arcade keypad 
to enter values.  The object will be to move the blinkinq dot (representing 
where the joystick is) to hit the solid box.  The faster you can hit the boxes, 
the lower and better your score.  You will see your score after you have hit 20 
boxes.  To start, press the left button and be ready to move the blinking box 
with the joystick.  After you have seen your score, press any key on the Arcade 
keypad to start again.

     'Keypad Game' - This is a simple program to show you how to use the port 
values to access the SPECTRE keypad.  It compares what key is pressed to what 
square is selected.  Press the left button to start and be ready to press the 
key that corresponds to the square with a box in it.  The scoring is similar to 
'Get the Box.'  The lower the score the better.

These are simple programs to help you understand how to use the handle for your 
own programs.


Page 4

------------------------------------------------------------

[The three programs listed on this page have been typed in from the original 
documentation, but there may be errors.  It is recommended that these programs 
be typed in from the original scanned pdf documentation that is available on 
Ballyalley.com]

Animated Box
------------

1 CLEAR
10 A=ABS(KN(1)/2);B=ABS(KN(2)/3)
20 BOX 0,0,C,D,2; BOX 0,0,A,B,1
30 C=A;D=B
40 GOTO 10


Get the Box
-----------

10 CLEAR;INPUT "DIFFICULTY"D;CLEAR; S=0
15 IF TR(1)=0 GOTO 15
20 FOR I= 1 TO 20;CX=-80;CY=40;PRINT #0,I;X=RND(120)-60; Y=RND(70)-35;BOX 
X,Y,0,0,1
30 A= -KN(1)/2;B= KN(2)/3
10 BOX P,Q,1,1,2;BOX A,B,1,1,1;S=S+1
50 P=A;Q=B
60 IF ABS(A-X)<D IF ABS(B-Y)<D BOX X,Y,0,0,2;NEXT I;GOTO 80
70 GOTO 30
80 CLEAR;PRINT "SCORE IS ",S;N=KP;GOTO 10


Keypad Game
-----------

10 CLEAR;BC=232;FC=188;S=0;BOX 0,0,50,50,1
20 FOR X= -15 TO 15 STEP 15;FOR Y=-15 TO 15 STEP 15;BOX X,Y,10,10,2; NEXT 
Y;NEXT X
25 IF TR(1)=0 GOTO 25
30 FOR T= 1 TO 20;CY=40;PRINT #0,T;A=RND(9)
40 IF A=1 BOX -15,-15,I,I,1;GOTO 130
50 IF A=2 BOX 0,-15,8,8,1;GOTO 130
60 IF A=3 BOX 15,-15,8,8,1;GOTO 130
70 IF A=4 BOX -15,0,8,8,1;GOTO 130
80 IF A=5 BOX 0,0,8,8,1;GOTO 130
90 IF A=6 BOX 15,0,8,81;GOTO 130
100 IF A=7 BOX -15,15,8,8,1;GOTO 130
110 IF A=8 BOX 0,15,8,8,1;GOTO 130
120 IF A=9 BOX 15,15'8,8,1;GOTO 130
130 J=&(16);K=&(17)
140 IF A=1 IF K=4 BOX -15,-15,8,8,2;GOTO 240
150 IF A=2 IF J=2 BOX 0,-15,8,8,2;GOTO 240
160 IF A=3 IF K=2 BOX 15,-15,8,8,2;GOTO 240
170 IF A=4 IF J=4 BOX -15,0,8,8,2;GOTO 240
180 IF A=5 IF J=16 BOX 0,0,8,8,2;GOTO 240
190 IF A=6 IF J=8 BOX 15,0,8,8,2;GOTO 240
200 IF A=7 IF K=1 BOX -15,15,8,8,2;GOTO 240
210 IF A=8 IF J=1 BOX 0,15,8,8,2;GOTO 240
220 IF A=9 IF K=8 BOX 15,15,8,8,2;GOTO 240
230 S=S+1;GOTO 130
210 NEXT T;PRINT "SCORE IS ",S;K=KP;GOTO 10


Page 5

------------------------------------------------------------

SPECTRE SYSTEMS
21145 Fairview
Dearborn Hts., MI 48127

     Dear customer,

     Some Bally users have reported that ICBM ATTACK will not work for them.  
We have found that in some of the older arcades the internal subroutines are 
different than in the newer Arcades.  We are correcting this problem as quickly 
as we can and will send you the new version of ICBM ATTACK as soon as we 
possibly can.

     We also apologize for the length of time it has taken us to deliver the 
SPECTRE Handle to you.  We hope that you can understand the problems of a small 
company just getting started.  Spectre Systems is a young partnership trying to 
provide quality products to Bally users.  The delays we have encountered have 
occurred because we did not want to lower the quality of our products.

     As we overcome the problems of a small new business, we hope we can 
improve our service to you,

     Sincerely,
     Brett Bilbrey
     Spectre Systems


Page 6
